home *** CD-ROM | disk | FTP | other *** search
/ Night Owl 6 / Night Owl's Shareware - PDSI-006 - Night Owl Corp (1990).iso / 004a / evolkit1.zip / MANUAL < prev    next >
Text File  |  1990-08-16  |  18KB  |  463 lines

  1.  
  2.  
  3.  
  4.  
  5.  
  6.  
  7.  
  8.  
  9.  
  10.  
  11.  
  12.  
  13.  
  14.                       BBBBEEEEHHHHAAAAVVVVIIIIOOOORRRRAAAALLLL EEEEVVVVOOOOLLLLUUUUTTTTIIIIOOOONNNN SSSSIIIIMMMMUUUULLLLAAAATTTTIIIIOOOONNNN
  15.                               CCCCOOOONNNNSSSSTTTTRRRRUUUUCCCCTTTTIIIIOOOONNNN KKKKIIIITTTT
  16.  
  17.  
  18.  
  19.  
  20.                                UUUUsssseeeerrrr''''ssss MMMMaaaannnnuuuuaaaallll
  21.  
  22.                                 Version 1.0
  23.  
  24.  
  25.  
  26.  
  27.  
  28.  
  29.  
  30.  
  31.  
  32.  
  33.  
  34.  
  35.  
  36.                           _M_i_c_h_a_e_l _E. _M_i_l_l_s, _P_h._D.
  37.  
  38.                            Psychology Department
  39.                         Loyola Marymount University
  40.                               7101 W. 80th St.
  41.                            Los Angeles, CA 90045
  42.                                (213) 642-3017
  43.  
  44.  
  45.  
  46.    c  Copyright 1989 Michael E. Mills, Ph.D.
  47.  
  48.  
  49.  
  50.  
  51.  
  52.  
  53.  
  54.  
  55.  
  56.  
  57.  
  58.  
  59.  
  60.  
  61.  
  62.  
  63.  
  64.  
  65.  
  66.  
  67.  
  68.    IIIINNNNTTTTRRRROOOODDDDUUUUCCCCTTTTIIIIOOOONNNN
  69.  
  70.  
  71.         The  _B_e_h_a_v_i_o_r_a_l  _E_v_o_l_u_t_i_o_n  _S_i_m_u_l_a_t_i_o_n  _C_o_n_s_t_r_u_c_t_i_o_n  _K_i_t  _a_l_l_o_w_s
  72.         _r_e_s_e_a_r_c_h_e_r_s  _a_n_d  _s_t_u_d_e_n_t_s  _t_o  _p_e_r_f_o_r_m _a _v_a_r_i_e_t_y _o_f _e_v_o_l_u_t_i_o_n_a_r_y
  73.         _s_i_m_u_l_a_t_i_o_n_s.  _U_p _t_o _f_i_v_e _d_i_f_f_e_r_e_n_t "_c_r_e_a_t_u_r_e_s"  _m_a_y  _b_e  _d_e_f_i_n_e_d.
  74.         _T_h_e  _c_h_a_r_a_c_t_e_r_i_s_t_i_c_s  _o_f  _e_a_c_h  _c_r_e_a_t_u_r_e  _t_y_p_e  _m_a_y _b_e _s_p_e_c_i_f_i_e_d.
  75.         _T_h_e_s_e _v_a_r_i_a_b_l_e_s _i_n_c_l_u_d_e _l_i_f_e_s_p_a_n, _s_p_e_e_d  _o_f  _m_o_v_e_m_e_n_t,   _a_n_d  _t_h_e
  76.         _t_i_m_e  _a_f_t_e_r _b_i_r_t_h _b_e_f_o_r_e _t_h_e _c_r_e_a_t_u_r_e _b_e_c_o_m_e_s _o_f _r_e_p_r_o_d_u_c_t_i_v_e _a_g_e
  77.         ("_d_o_r_m_a_n_c_y").  _T_h_e _s_y_m_b_o_l (_a_n_d _i_t_s _c_o_l_o_r) _d_i_s_p_l_a_y_e_d _o_n _t_h_e _s_c_r_e_e_n
  78.         _t_o _r_e_p_r_e_s_e_n_t _t_h_e _c_r_e_a_t_u_r_e _m_a_y _b_e _s_p_e_c_i_f_i_e_d.  _C_r_e_a_t_u_r_e _s_y_m_b_o_l_s _m_a_y
  79.         _b_e _a_n_y _A_S_C_I_I _s_y_m_b_o_l.
  80.  
  81.         _A_f_t_e_r  _t_h_e  _v_a_r_i_o_u_s  _c_r_e_a_t_u_r_e  _t_y_p_e_s  _h_a_v_e  _b_e_e_n  _d_e_f_i_n_e_d,  _t_h_e_i_r
  82.         _c_o_u_r_t_s_h_i_p, _m_a_t_i_n_g, _a_n_d _p_a_r_e_n_t_i_n_g _b_e_h_a_v_i_o_r_s _a_r_e _d_e_f_i_n_e_d.  _F_o_r _e_a_c_h
  83.         _p_o_s_s_i_b_l_e _m_a_t_i_n_g _p_a_i_r, _t_h_e_s_e _v_a_r_i_a_b_l_e_s _m_a_y _b_e _s_e_t:  _t_i_m_e _s_p_e_n_t  _i_n
  84.         _c_o_u_r_t_s_h_i_p  (_b_e_f_o_r_e  _m_a_t_i_n_g  _c_a_n  _o_c_c_u_r), _t_h_e _p_r_o_b_a_b_i_l_i_t_y _t_h_a_t _t_h_e
  85.         _p_a_i_r _w_i_l_l _d_e_c_i_d_e _t_o _m_a_t_e _a_f_t_e_r _t_h_e_i_r  _c_o_u_r_t_s_h_i_p,  _t_h_e  _t_i_m_e  _e_a_c_h
  86.         _p_a_r_e_n_t  _i_n_v_e_s_t_s  _i_n  _r_e_a_r_i_n_g  _r_e_s_u_l_t_i_n_g  _o_f_f_s_p_r_i_n_g (_i_f _a_n_y),  _t_h_e
  87.         _p_r_o_b_a_b_i_l_i_t_y  _t_h_a_t  _t_h_e  _c_o_u_p_l_e  _w_i_l_l  _h_a_v_e  _o_n_e,  _t_w_o,  _o_r  _t_h_r_e_e
  88.         _o_f_f_s_p_r_i_n_g, _a_n_d _t_h_e "_c_r_e_a_t_u_r_e _t_y_p_e_s" _o_f _t_h_e _o_f_f_s_p_r_i_n_g.
  89.  
  90.         _W_h_e_n _a_l_l _o_f _t_h_e _a_b_o_v_e _v_a_r_i_a_b_l_e_s _h_a_v_e _b_e_e_n _d_e_f_i_n_e_d _i_n _t_h_e _c_r_e_a_t_u_r_e
  91.         _d_e_f_i_n_i_t_i_o_n  _t_a_b_l_e,  _t_h_e _u_s_e_r _c_a_n _t_h_e_n _s_t_a_r_t _t_h_e _s_i_m_u_l_a_t_i_o_n.  _W_h_e_n
  92.         _t_h_e _s_i_m_u_l_a_t_i_o_n _b_e_g_i_n_s, _s_e_v_e_r_a_l _w_i_n_d_o_w_s _a_p_p_e_a_r: (_a) _a _w_i_n_d_o_w _w_h_i_c_h
  93.         _s_h_o_w_s  _t_h_e  _c_r_e_a_t_u_r_e_s  _m_o_v_i_n_g _a_b_o_u_t _a_n_d _i_n_t_e_r_a_c_t_i_n_g, (_b) _a _w_i_n_d_o_w
  94.         _w_i_t_h _a _m_o_v_i_n_g _g_r_a_p_h _o_f _t_h_e _r_e_l_a_t_i_v_e _p_e_r_c_e_n_t_a_g_e_s _o_f _e_a_c_h  _c_r_e_a_t_u_r_e
  95.         _t_y_p_e, _a_n_d (_c) _a_n_d _i_n_f_o_r_m_a_t_i_o_n _w_i_n_d_o_w.
  96.  
  97.         _D_u_r_i_n_g _t_h_e _s_i_m_u_l_a_t_i_o_n, _t_h_e _u_s_e_r _c_a_n: (_a) _s_p_e_e_d _u_p  _o_r  _s_l_o_w  _d_o_w_n
  98.         _t_h_e _s_i_m_u_l_a_t_i_o_n, (_b) _p_a_u_s_e _t_h_e _s_i_m_u_l_a_t_i_o_n, (_c) _t_u_r_n _m_a_t_i_n_g "_b_e_e_p_s"
  99.         _o_n _o_r _o_f_f, _a_n_d (_d) _q_u_i_t _t_h_e _s_i_m_u_l_a_t_i_o_n.  _T_h_e _s_i_m_u_l_a_t_i_o_n _w_i_l_l _s_t_o_p
  100.         _o_n _i_t_s _o_w_n _a_f_t_e_r _t_h_e _c_r_e_a_t_u_r_e_s _e_i_t_h_e_r _t_o_t_a_l_l_y _f_i_l_l _t_h_e _s_c_r_e_e_n, _o_r
  101.         _t_h_e_y _a_l_l _g_o _e_x_t_i_n_c_t.
  102.  
  103.         _A_f_t_e_r _t_h_e _s_i_m_u_l_a_t_i_o_n, _a _f_i_l_e _c_a_l_l_e_d  "_p_l_o_t._g_p_h"  _w_i_l_l  _h_a_v_e  _b_e_e_n
  104.         _c_r_e_a_t_e_d  _t_h_a_t  _w_i_l_l  _s_h_o_w  _t_h_e  _g_r_a_p_h  _o_f _t_h_e _p_e_r_c_e_n_t_a_g_e_s _o_f _e_a_c_h
  105.         _c_r_e_a_t_u_r_e _t_y_p_e.
  106.  
  107.    RRRRUUUUNNNNNNNNIIIINNNNGGGG TTTTHHHHEEEE PPPPRRRROOOOGGGGRRRRAAAAMMMM
  108.  
  109.         To define the creatures for a simulation,  and  to  automatically
  110.         run  the  simulation  after the creatures have been defined, give
  111.         the command:
  112.  
  113.             define
  114.  
  115.         A form will appear  that  you  can  use  to  define  up  to  five
  116.         different creature types.  After you have entered information for
  117.         a field, press return.  You will be automatically advanced to the
  118.         next  field.   To  correct an error, press the backspace key.  To
  119.         move back to previous fields, press the  up-arrow  key;  to  move
  120.         forward to fields, press the down-arrow key.
  121.  
  122.         At the bottom of the screen is an information  window.  Refer  to
  123.         this  window  for  instructions  about  the  type  of information
  124.         required for each field.  Some  fields  that  require  percentage
  125.         data  may  have  to  sum  to 100, or an error will occur when the
  126.         simulation is run.
  127.  
  128.  
  129.    TTTTEEEECCCCHHHHNNNNIIIICCCCAAAALLLL IIIINNNNFFFFOOOORRRRMMMMAAAATTTTIIIIOOOONNNN
  130.  
  131.  
  132.         You can also modify the files normally created  by  the  'define'
  133.         program  yourself.   In  this  fashion  can  bypass  the 'define'
  134.         program.
  135.  
  136.         An input  file  consists  of  a  sequence  of  type  and  subtype
  137.         declarations  followed  by  a set of mating tables and an initial
  138.         population descriptor.  This information must be  in  consecutive
  139.         order. No forward references to types are allowed.
  140.  
  141.                                  CCCCRRRREEEEAAAATTTTUUUURRRREEEE TTTTYYYYPPPPEEEE
  142.  
  143.         A type declaration defines a creature  type.  The  syntax  for  a
  144.         creature definition is as follows:
  145.  
  146.         type <"name of creature">
  147.         {
  148.                symbol : <int>
  149.                color  : (<color-value>, <mono-value>)
  150.                lifespan : <int>
  151.                dormancy : <int>
  152.                speed        : <int>
  153.         }
  154.  
  155.         The creature's attributes (symbol, color, etc) may appear in any
  156.         order but a given attribute can only be defined once.
  157.  
  158.         [1] symbol
  159.                Is an integer corresponding to the ascii value of the
  160.                character used to represent the creature.
  161.         [2] color
  162.                Consists of two values separated by a comma. These
  163.                values define the color of the creature on a color
  164.                and on a monochrome monitor respectively.
  165.  
  166.                The legal values for a color on a color monitor are:
  167.  
  168.                black
  169.                blue
  170.                green
  171.                cyan
  172.                red
  173.                magenta
  174.                brown
  175.                light_grey
  176.                dark_grey
  177.                light_blue
  178.                light_green
  179.                light_cyan
  180.                light_red
  181.                light_magenta
  182.                yellow
  183.                white
  184.  
  185.                The legal values for a monochrome monitor are:
  186.  
  187.                normal
  188.                underline
  189.                reverse
  190.  
  191.                which can be further qualified by any combination of
  192.                the following key words:
  193.  
  194.                bright
  195.                blink
  196.  
  197.                eg: bright blink normal
  198.  
  199.  
  200.         [3] lifespan
  201.                Is a positive integer that determines the organism's lifespan.
  202.  
  203.         [4] dormancy
  204.                Is a positive integer that determines the organism's reproductive
  205.                dormancy period after mating or after it has been created.
  206.                The dormancy period is required to prevent an organism from
  207.                immediately mating with its previous spouse and also to prevent
  208.                newly created children from mating with their siblings or parents.
  209.  
  210.         [5] speed
  211.                Is a positive integer that determines the number of random
  212.                squares an organism can move in one unit of time.
  213.  
  214.  
  215.                                 CCCCRRRREEEEAAAATTTTUUUURRRREEEE SSSSUUUUBBBBTTTTYYYYPPPPEEEE
  216.  
  217.         A subtype declaration defines a "mutation" of a parent creature type
  218.         The syntax is described below:
  219.  
  220.         subtype "<mutant-creature-name>" of  "<parent-creature-name>"
  221.         {
  222.                symbol : <int>
  223.                color  : (<color-value>, <mono-value>)
  224.                lifespan : <int>
  225.                dormancy : <int>
  226.                speed        : <int>
  227.         }
  228.  
  229.  
  230.         All the attributes of a subtype are optional. If an attribute is not
  231.         specified the value of the attribute is inherited from its parent
  232.         class.
  233.  
  234.  
  235.                                   MMMMAAAATTTTIIIINNNNGGGG TTTTAAAABBBBLLLLEEEE
  236.  
  237.         A mating table defines how two organisms will reproduce. You only
  238.         need  to provide a mating table for legal mating combinations. In
  239.         other words, it is not required that you provide a  mating  table
  240.         for two females or two males.
  241.  
  242.         The syntax for a mating table is
  243.  
  244.         mate ( "<creature-name-1>" "<creature-name-2>" )
  245.         {
  246.                courtship : ( <time>, <probability> )
  247.                rearing   : ( <rearing-costs-for-creature-1>, <rearing-cost-for-creature-2> )
  248.                offspring : ( < %for 1 organism, %for 2 organisms, ... )
  249.                distribution : ( "creature-1",  %chance
  250.                               "creature-2",  %chance,
  251.                               ...
  252.                              )
  253.         }
  254.  
  255.  
  256.         [1] "creature-name-1"  "creature-name-2"
  257.  
  258.                The creature name entries specify the names of the types or
  259.                subtypes of a reproductive couple. Typically the names will
  260.                be different but you can specify matings between organisms
  261.                of the same type.
  262.  
  263.         [2] courtship
  264.                Consists of two positive integers representing the courtship
  265.                time and probability respectively. The courtship time
  266.                is the amount of time that the couple will spend courting.
  267.                The courtship probability is the probability that the
  268.                two will reproduce. This value must be from 0 to 100.
  269.  
  270.         [3]  rearing
  271.                The rearing entry specifies the rearing costs in time
  272.                for creature 1 and creature 2 respectively.
  273.  
  274.         [4] offspring
  275.                The offspring entries represent the probability for
  276.                1, 2, 3, etc children. The sum of these values must
  277.                be 100.
  278.  
  279.         [5] distribution
  280.                The distribution entries represent the probability
  281.                of an offspring for a specific creature type. The
  282.                sum of these entries must be 100.
  283.  
  284.                                    PPPPOOOOPPPPUUUULLLLAAAATTTTIIIIOOOONNNN
  285.  
  286.         The population table determines the initial creature
  287.         distribution. The syntax is described below:
  288.  
  289.         population
  290.         {
  291.                "creature-name-1" : <number>
  292.                "creature-name-2" : <number>
  293.                ...
  294.         }
  295.                                 SSSSAAAAMMMMPPPPLLLLEEEE IIIINNNNPPPPUUUUTTTT FFFFIIIILLLLEEEE
  296.  
  297.         Below is a sample input file.  This is used to simulate the
  298.         evolution of "fast" vs. "coy" female, and "faithful" vs. "philandering"
  299.         males.
  300.  
  301.  
  302.         type "coy"
  303.         {
  304.                 symbol : 12
  305.                 color  : (red,dark_grey,normal,underline)
  306.                 lifespan : 150
  307.                 dormancy : 5
  308.                 speed : 1
  309.         }
  310.  
  311.         type "fast"
  312.         {
  313.                 symbol : 12
  314.                 color  : (light_red,dark_grey,normal,underline)
  315.                 lifespan : 150
  316.                 dormancy : 5
  317.                 speed : 1
  318.         }
  319.  
  320.         type "faithful"
  321.         {
  322.                 symbol : 11
  323.                 color  : (blue, dark_grey,normal, underline)
  324.                 lifespan : 150
  325.                 dormancy : 5
  326.                 speed : 1
  327.         }
  328.  
  329.         type "philanderer"
  330.         {
  331.                 symbol : 11
  332.                 color  : (light_blue,dark_grey,normal,underline)
  333.                 lifespan : 150
  334.                 dormancy : 5
  335.                 speed : 1
  336.         }
  337.  
  338.         mate ( "faithful" , "coy" )
  339.         {
  340.                 courtship : ( 15 , 80 )
  341.                 rearing   : ( 20 , 20 )
  342.                 offspring : ( 0, 15 , 85 )
  343.                 distribution : ( "faithful" ,  30,
  344.                                  "coy",      50,
  345.                                  "philanderer", 10,
  346.                                  "fast",      10
  347.                                )
  348.         }
  349.  
  350.         mate ( "faithful" , "fast" )
  351.         {
  352.                 courtship : (  5 , 90 )
  353.                 rearing   : ( 10 , 30 )
  354.                 offspring : ( 50, 25 , 25 )
  355.                 distribution : ( "faithful" ,  40,
  356.                                  "fast",      20,
  357.                                  "philanderer", 20,
  358.                                  "coy",      20
  359.                                )
  360.         }
  361.  
  362.         mate ( "philanderer" , "coy" )
  363.         {
  364.                 courtship : ( 15 ,  25 )
  365.                 rearing   : (  5 , 30 )
  366.                 offspring : ( 85, 10, 5)
  367.                 distribution : (
  368.                                  "philanderer", 10,
  369.                                  "coy",       50,
  370.                                  "faithful",    20,
  371.                                  "fast",      20
  372.                                )
  373.         }
  374.  
  375.         mate ( "philanderer" , "fast" )
  376.         {
  377.                 courtship : ( 0 , 100 )
  378.                 rearing   : ( 5 , 35 )
  379.                 offspring : ( 65, 25, 10)
  380.                 distribution : (
  381.                                  "philanderer", 30,
  382.                                  "fast",      30,
  383.                                  "coy",       20,
  384.                                  "faithful",   20
  385.                                )
  386.         }
  387.  
  388.  
  389.  
  390.         population
  391.         {
  392.                 "faithful"    : 25
  393.                 "coy"      : 25
  394.                 "philanderer" : 25
  395.                 "fast"      : 25
  396.         }
  397.  
  398.                              RRRRUUUUNNNNNNNNIIIINNNNGGGG TTTTHHHHEEEE SSSSIIIIMMMMUUUULLLLAAAATTTTIIIIOOOONNNN
  399.  
  400.         To run the simulation, give the following command:
  401.  
  402.         evolkit _i_n_p_u_t_f_i_l_e [-_m|-_a|-_b|-_c] [-_w_l_x,_l_y,_t_x,_t_y]  [-_l_i_n_t_e_r_v_a_l]  [-
  403.         _s_s_t_e_p]
  404.  
  405.         Where the options are as follows:
  406.  
  407.              -a auto-detect monitor
  408.              -c cga or ega monitor
  409.              -m monochrome monitor
  410.              -b use bios to write to screen
  411.              -wtx,ty,lx,ly define window boundaries for display
  412.                        tx, ty = top col,row;   lx, ly = lower col,row
  413.              -linterval defines interval
  414.              -sstep defines step interval
  415.              -ppause defines pause interval
  416.  
  417.         For example:
  418.  
  419.              evolkit -a -p0 -w30,0,79,16 input.def
  420.  
  421.  
  422.  
  423.  
  424.  
  425.  
  426.  
  427.  
  428.  
  429.  
  430.  
  431.  
  432.  
  433.  
  434.  
  435.  
  436.  
  437.  
  438.  
  439.  
  440.  
  441.  
  442.  
  443.  
  444.  
  445.  
  446.  
  447.  
  448.  
  449.  
  450.  
  451.  
  452.  
  453.  
  454.  
  455.  
  456.  
  457.  
  458.  
  459.  
  460.  
  461.  
  462.  
  463.